#!/usr/bin/python3.8.9
# -*- coding: utf-8 -*-

# @Author  : Tina Yu
# @Time    : 2022-1-8 22:52
import pytest
from appium.webdriver.common.mobileby import MobileBy

from homework.task_app.base.base_page import BasePage
from homework.task_app.page.member_info_page import MemberInfoPage
from utils.my_logger import log


class MemberSearchPage(BasePage):
    def goto_member_info(self, name):
        """通过名称搜索后进入成员个人信息页面"""
        # 输入成员姓名
        self.find_and_send(MobileBy.XPATH, "//*[@text='搜索']", name)

        # 搜索结果元素个数
        ele_member_result = self.finds(MobileBy.XPATH,
                                       f"//*[@class='android.widget.ListView']//*[@text='{name}']")

        # 如果无搜索结果，则直接置为失败
        if "无搜索结果" in self.driver.page_source:
            pytest.xfail(f"名字{name}无搜索结果！")

        # 记录查找结果的数量
        before_result_num = len(ele_member_result)
        log.info(f'删除前的查找结果数量为：{before_result_num}')

        # 点击第一个结果
        ele_member_result[0].click()

        return [MemberInfoPage(self.driver), before_result_num]
